home *** CD-ROM | disk | FTP | other *** search
- #############################################################
- # $Id: macros.OL,v 1.11 2001/01/24 15:57:46 ray Exp $
-
- #############################################################
- # Default macros for Caldera OpenLinux packages...
- # (still require a modified rpm-binary?!)
-
- # simple ones
- %fixSymlinks /usr/lib/rpm-3.0.6/fixsymlinks.pl
- %fixUP /usr/lib/rpm-3.0.6/fixup.pl
- %mkCopyright /usr/lib/rpm-3.0.6/mkcopyright.pl
- %mkLists /usr/lib/rpm-3.0.6/mklists.pl
- %ckLibC5 /usr/lib/rpm-3.0.6/cklibc5.pl
-
- # a little more complex ...
- ## macros intended for (exclusive) use by other macros...
- %_DESTDIR \
- DESTDIR=$RPM_BUILD_ROOT;export DESTDIR
-
- %_BaseEnv \
- %{_DESTDIR}; GZIP="-v9nf";export GZIP
-
- %_MANPATHS \
- MANPATHS=`find $DESTDIR -type d -name "man[1-9n]" -print`
-
- %_CheckAndRemove \
- { perl -e '$_=$ENV{DESTDIR}."/"; exit (!m:/tmp/\\w\\S+/: || m:/\\.\\./:)' &&\
- rm -rf $DESTDIR; } || { echo "Invalid BuildRoot: '$DESTDIR'!" 1>&2; false; }
-
- %_UID \
- { [ -n "$UID" ] || { UID=`id -u`; export UID; }; }
-
- ## and now for the goodies! :*)
- ### predicates (preferably without comments...)
- %NoBuildCheck \
- { [ "$COL_BUILDCHECK" != "true" ]&& echo "*** %%BuildCheck disabled" 1>&2; }
-
- %IsNotRoot {{ %{_UID}; [ "$UID" -gt 0 ]; }}
-
- %IsRoot {{ %{_UID}; [ "$UID" -eq 0 ]; }}
-
- %IsLSB [ "%{LSB}" = "true" ]
-
- %IsNotLSB ! %{IsLSB}
-
- ### LSB-enforcement
- %_LSBdoc \
- [ ! -d $DESTDIR/usr/doc ] || { \
- echo "*** /usr/doc violates LSB." 1>&2; exit 1; \
- }
- %_LSBinfo \
- [ ! -d $DESTDIR/usr/info ] || { \
- echo "*** /usr/info violates LSB." 1>&2; exit 1; \
- }
- %_LSBman \
- [ ! -d $DESTDIR/usr/man ] || { \
- echo "*** /usr/man violates LSB." 1>&2; exit 1; \
- }
- %_LSBroundup \
- set +x; LSBcount=0 \
- for d in /usr/{doc,info,man} /var/state; do \
- [ ! -d $DESTDIR/$d ] || { \
- LSBcount=$[$LSBcount + 1]; echo "*** use of '$d' violates LSB." 1>&2; \
- } \
- done \
- [ $LSBcount = 0 ] || exit $LSBcount; set -x
-
- ### installation set- and cleanup
- %DESTDIR # %%{DESTDIR}\
- %{_BaseEnv}
-
- %mkDESTDIR # %%{mkDESTDIR}\
- %{_BaseEnv}\
- #%%{ckLibC5} . || true\
- %{_CheckAndRemove}\
- mkdir -p $DESTDIR
-
- %rmDESTDIR # %%{rmDESTDIR}\
- %{_BaseEnv};%{IsNotLSB}||{ %{_LSBroundup}; } \
- %{IsNotRoot}||%{_CheckAndRemove}
-
- ### man- and info-pages
- %MANPATHS # %%{MANPATHS}\
- %{_MANPATHS}
-
- %fixManPagesLSB # %%{fixManPagesLSB}\
- if [ "%{_mandir}" != "/usr/man" -a -d $DESTDIR/usr/man ]; then \
- mkdir -p $DESTDIR%{_mandir}%{manEN} \
- [ "$(echo $DESTDIR/usr/man/man?)" = "$DESTDIR/usr/man/man?" ] || \
- mv $DESTDIR/usr/man/man? $DESTDIR%{_mandir}%{manEN} \
- [ "$(echo $DESTDIR/usr/man/*)" = "$DESTDIR/usr/man/*" ] || \
- mv $DESTDIR/usr/man/* $DESTDIR%{_mandir} \
- rmdir $DESTDIR/usr/man \
- fi
-
- %fixManPages # %%{fixManPages}\
- %{IsNotLSB} || %{fixManPagesLSB} \
- [ -n "$MANPATHS" ] || %{_MANPATHS}\
- if [ -n "$MANPATHS" ]; then \
- chown -Rvc root.root $MANPATHS \
- %{fixSymlinks} --man-gz $DESTDIR $MANPATHS \
- find $MANPATHS -type f -not -name '*.gz' -print0 | \
- xargs -0r gzip \
- fi
-
- %fixInfoPagesLSB # %%{fixInfoPagesLSB}\
- if [ "%{_infodir}" != "/usr/info" -a -d $DESTDIR/usr/info ]; then \
- mkdir -p $DESTDIR%{_infodir} \
- [ "$(echo $DESTDIR/usr/info/*)" = "$DESTDIR/usr/info/*" ] || \
- mv $DESTDIR/usr/info/* $DESTDIR%{_infodir} \
- rmdir $DESTDIR/usr/info \
- fi
-
- %fixInfoPages # %%{fixInfoPages}\
- %{IsNotLSB} || %{fixInfoPagesLSB} \
- if [ -d "$DESTDIR%{_infodir}" ]; then \
- find $DESTDIR%{_infodir} -type f -not -name '*.gz' -print0 | \
- xargs -0r gzip \
- fi \
- [ ! -e $DESTDIR%{_infodir}/dir.gz ] || rm -f $DESTDIR%{_infodir}/dir.gz
-
-
- ## configuration "constants"
- ## LSB general
- # as long as the SysVinit registration script isn't spec'ed
- %LSBinit /usr/lib/LSB/init
- # a placeholder for network-shared, exported data
- %LSBservedir /srv
-
- ## introduced for LSB cron: hide directories for application installed snippets
- %Cprefix /etc/cron.d
- ### prefix for sym-links from %C<period>dir/ to %Cprefix/%Scriptsdir/
- %Crelprefix ..
- %Ctabsdir tabs.d
- %Cscriptsdir lib
- ### pattern reflecting the naming-convention for consistency-checks...
- %Cpattern %{Cprefix}/[A-Z]*/[0-9][0-9]
- ### proposed directories/intervals
- %Cyearlydir %{Cprefix}/Yearly
- %Cmonthlydir %{Cprefix}/Monthly
- %Cweeklydir %{Cprefix}/Weekly
- %Cdailydir %{Cprefix}/Daily
- ### inofficial, but possible extensions
- %Cquarterlydir %{Cprefix}/Quarterly
- %Cbimonthlydir %{Cprefix}/Bimonthly
- %Cbiweeklydir %{Cprefix}/Biweekly
- ### DEPRECATED!
- %Chourlydir %{Cprefix}/Hourly
-
- ## introduced for FHS-2.1 4.7.2: hide default locale for man-pages
- %manEN %{nil}
-
- ## introduced for LSB init: abstract from real locations
- %SVIcdir /etc/sysconfig/daemons
- %SVIdir /etc/rc.d/init.d
- %SVIrcp /etc/rc.d
- %SVIrcd /etc/rc.d
- ### prefix for sym-links from %SVIrcp/rc?.d/ to %SVIdir/
- %SVIrel ../init.d
-
- ## introduced to abstract from real location
- %LRdir /etc/logrotate.d
-
- ## introduced for LSB inet: hide directories for application installed snippets
- %NKinetdir /etc/inet.d
- %NKinetdReload [ ! -x %{SVIdir}/inet ] || %{SVIdir}/inet reload || true
-
- ## introduced for JAVA
- %JAVAlibdir /usr/share/java
- %JAVAjnidir /usr/lib/java
-
- ##
-
- # out-dated macros for compatibility
- %buildarch_lc %{_arch}
- %buildarch %{_arch}
- %buildos_lc %{_os}
- %buildos %{_os}
-